Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2009, 16:18
Интересующийся
Отправить личное сообщение для human Посмотреть профиль Найти все сообщения от human
 
Регистрация: 19.02.2009
Сообщений: 15

Можно ли приобразовать исходный текст изображения в само изображение ))
Тоесть мы с помощью Ajax делаем запрос example.com/image.jpg
в ответ получаем исходники изображения image.jpg, и теперь можно ли как то вставить в тело документа полученное изображение ???

Или все галереи построины просто по принципу
тыкнул на изображение -> показ прелоудера -> сработало событие onload изображения -> показали картинку
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2009, 16:22
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от human
в ответ получаем исходники изображения image.jpg, и теперь можно ли как то вставить в тело документа полученное изображение ???
нет
Сообщение от human
Или все галереи построины просто по принципу
тыкнул на изображение -> показ прелоудера -> сработало событие onload изображения -> показали картинку
да.
вотрой вариант их построения - предзагрузка изображения с помощью динамического создания Image-элемента, и выстваления ему src.а после предзагрузки можно и показать
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2009, 16:32
Интересующийся
Отправить личное сообщение для human Посмотреть профиль Найти все сообщения от human
 
Регистрация: 19.02.2009
Сообщений: 15

Спасибо а оперативный ответ =))
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2009, 16:34
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

пожалуйста
Ответить с цитированием
  #5 (permalink)  
Старый 20.03.2009, 17:02
Интересующийся
Отправить личное сообщение для human Посмотреть профиль Найти все сообщения от human
 
Регистрация: 19.02.2009
Сообщений: 15

А вот интересно как лучше сделать:
Допустим у меня загружается страничка, сработало событие window.onload
дальше я вызываю функцию Ajax которая получает список 20 фото, задача такова пока не загрузились все 20 показывать пользователю прелоудер.

Так вот в функции Ajax как только мы получили ответ (status == 200), то сразу же начинаем создавать динамически 20 картинок
for (var i=0;i<20;i++){
img = new Images();
img.src = 'www.example.com/' + images[i];
}


так вот я думаю как же проследит за тем когда они все загрузятся
повесить а каждое изображение обработчик onload в котором функция будет брать из невидеммого слоя parseInt(omject.innerHTML) если это значение не равно 20 то инкрементировать его и заносить обратно в слой, а как только там появилось число 20 то вывести все изображения!!!

Может есть более рациональных подход??? заранее благодарю )
Ответить с цитированием
  #6 (permalink)  
Старый 20.03.2009, 17:17
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

используйте замыкание например:
(function(){
var counter=0;
var i;
/*не самый хороший вариант.я бы прдпочел следующий
for (var i=0;i<20;i++){
img = new Images();
img.src = 'www.example.com/' + images[i];
}*/
for (i=0;i<20;i++){
img[i] = document.createElement('img');
img[i].src = 'www.example.com/' + images[i];
img[i].onload=function()
	{
	var i;//var тут просто обязателен, так как это ЗАМЫКАНИЕ
	if(counter<20)
		{
		counter++;
		}
	else
		{
		//тут выводим все рисунки
		image_container=document.getElementById('images');
		for (i=0;i<20;i++)
			image_container.appendChild(img[i]);//присоединяем рисунок
		}
	}
}



})()

за правильность кода не уверен, не запускал.
но общий смысл таков
Ответить с цитированием
  #7 (permalink)  
Старый 20.03.2009, 17:28
Интересующийся
Отправить личное сообщение для human Посмотреть профиль Найти все сообщения от human
 
Регистрация: 19.02.2009
Сообщений: 15

ай блин точно =(( я просто почему то в мозгу не мог прокрутить что переменные созданные в теле 1 функции (в нашем случае ссылка на onreadystatechange) являются глобальными для следующих функций созданных в теле 1 независимо от времени.....
А то что то крутилось что событи onload случилось она не к каким переменным не сможет обратиться =\
еще раз спасибо ))
Ответить с цитированием
  #8 (permalink)  
Старый 20.03.2009, 17:46
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

пожалуйста.
очень настоятельно советую использовать код для предзагрузки мой.
так как ваш начальный код в случае отключенного кэша браузер работать не будет
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Вопрос: И опять про offsetLeft... sigurd Общие вопросы Javascript 11 04.10.2010 14:06
Можно ли одновременно изменить фон и текст в поле? Bad Request Events/DOM/Window 12 25.09.2008 23:10